package com.shujia.day14;

import java.io.*;

public class Code06BufferedOutputStream {
    public static void main(String[] args) throws IOException {

        /*
            FileOutputStream 是获取一个字节就往外输出一个字节 但是对于BufferedOutputStream来说
               其输出时，是先将数据写出到缓冲区中，如果不去将缓存区中的数据进行写到文件中，那么文件中是没有数据的

            flush 将缓冲区中的数据刷写到文件中

            由于从内存到文件写数据需要一些响应时间，该响应时间在整个写入过程中占用时间过长，所以BufferedOutputStream
                其效率比FileOutputStream要高，因为其是通过一批数据写入文件
         */


        FileOutputStream fileOutputStream = new FileOutputStream("data/copy/c.txt");
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);

//        bufferedOutputStream.write(97);

        bufferedOutputStream.write("hello java \n hello io".getBytes());

        bufferedOutputStream.flush();

        fileOutputStream.close();
        bufferedOutputStream.close();  // 对于缓冲区中有数据时，直接对其流进行关闭，那么会报IO异常


    }
}
